学生信息管理系统

您所在的位置:网站首页 choice 37 学生信息管理系统

学生信息管理系统

2024-01-03 09:08| 来源: 网络整理| 查看: 265

目录 一 设计目的 1 二 课程设计的内容 1 三 需求分析 1 四 总体设计 2 五 详细设计 2 5.1各函数的功能和实现 2 六 调试分析 4 6.1源程序 4 6.2调试与测试 11 七 实验总结 12

一 设计目的 进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。 二 课程设计的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三 需求分析 1、用C语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。) (3)成绩信息显示浏览功能:完成全部学生记录的显示。 (4)查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)排序功能:按学生平均成绩进行排序。 (7)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

四 总体设计 根据系统需求,可将系统分为以下几个模块: 1、成绩录入功能模块 2、成绩输出功能模块 3、成绩查询功能模块 4、删除模块 5、排序功能模块 6、统计功能模块 7、退出系统 五 详细设计 5.1各函数的功能和实现 1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void input(student *s)来实现此操作。 2、成绩输出模块:输出学生的信息以及成绩void output(student *s)通过学生的姓名来查看学生的相关成绩,同时也可以分别通过double avaragemath(student *s) 、double avarageenglish(student *s) 、double avarageclang(student *s) 和void Maxmath(student *s) void Maxenglish(student *s) void Maxclang(student *s) void Maxavarage(student *s)来输出成绩的平均分数、最高和最低分数。 3、成绩查询模块:可用void find(student *s) 来实现。找到就输出此学生全部信息。 4、成绩修改:用函数void alter(student *s)来实现 5、排序模块:用函数void sort(student *s)来实现 6、统计功能:用函数void count(student *s) 来实现 7、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

六 调试分析

6.1源程序 student.h

- #ifndef _STUDENT_H_ - #define _STUDENT_H_ - typedef struct StudentInfo - { - char no[8]; - char name[10]; - double math; - double english; - double clang; - double score; - double avarge; - }student; - #endif ``

main.cpp ``

```1. #include 2. #include"student.h" 3. #define NUM 3 4. extern void menu(student *s); 5. int main() 6. { 7. student s[NUM]; 8. menu(s); 9. return 0; 10. } ``

menu.cpp

1. #include 2. #include 3. #include 4. #include"student.h" 5. #define NUM 3 6. void select(char choice);//选择界面 7. void input(student *s);//成绩输入 8. void output(student *s);//成绩输出 9. void sort(student *s);//成绩排序 10. void find(student *s);//成绩查询 11. void alter(student *s);//成绩修改 12. void Maxmath(student *s);//高数成绩从高到低排序 13. void Maxenglish(student *s);//英语成绩从高到低排序 14. void Maxavarage(student *s);//平均分从高到低排序 15. void Maxclang(student *s);//C语言成绩从高到低排序 16. double avaragemath(student *s);//高数平均分 17. double avarageenglish(student *s);//英语平均分 18. double avarageclang(student *s);//C语言平均分 19. int countmath(student *s);//超过高数平均分人数 20. int countenglish(student *s);//超过英语平均分人数 21. int countclang(student *s);//超过C语言平均分人数 22. void count(student *s);//成绩统计 23. void menu(student *s) 24. { 25. while(1) 26. { 27. printf("\t\t------学生信息管理系统-----\n"); 28. printf("\t\t\ta、成绩录入\n"); 29. printf("\t\t\tb、成绩显示\n"); 30. printf("\t\t\tc、成绩排序\n"); 31. printf("\t\t\td、成绩修改\n"); 32. printf("\t\t\te、成绩查询\n"); 33. printf("\t\t\tf、成绩统计\n"); 34. printf("\t\t\t0、结束程序\n"); 35. printf("\t\t---------------------------\n"); 36. char choice; 37. printf("\t\t请输入您的选择:\n"); 38. scanf("%c",&choice); 39. getchar(); 40. system("cls"); 41. switch(choice) 42. { 43. case 'a':printf("\t\t\t成绩录入\n"); 44. input(s); 45. break; 46. case 'b':printf("\t\t\t成绩显示\n"); 47. output(s); 48. break; 49. case 'c':printf("\t\t\t成绩排序\n"); 50. sort(s); 51. output(s); 52. break; 53. case 'd':printf("\t\t\t成绩修改\n"); 54. alter(s); 55. break; 56. case 'e':printf("\t\t\t成绩查询\n"); 57. find(s); 58. break; 59. case 'f':printf("\t\t\t成绩统计\n"); 60. count(s); 61. break; 62. case '0':printf("\t\t欢迎您再次使用,再见!!\n"); 63. exit(0); 64. break; 65. default :printf("\n对不起,您的选择有错误,请重新输入!!\n"); 66. menu(s); 67. }//选择 68. } 69. 70. } 71. void input(student *s) 72. { 73. int i; 74. for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3